from qiniu import Auth, put_file, etag, put_data
import qiniu.config

# 需要填写你的 Access Key 和 Secret Key
access_key = 'dtQ0jJZChvgw2px-hRmgifYgRZr667eBoIxE-Zgc'
secret_key = 'N8pcKaIQW-OHSrva87nFDgd6DgF5FLrsmDgJRlf4'


def image_storage(image_data):

    # 构建鉴权对象
    q = Auth(access_key, secret_key)

    # 要上传的空间
    bucket_name = 'flask-project'

    # 上传到七牛后保存的文件名
    # key = 'my-python-logo.png'
    # 如果不指定,则由七牛云去维护
    key = None

    # 生成上传 Token，可以指定过期时间等
    token = q.upload_token(bucket_name, key, 3600)

    # 要上传文件的本地路径
    # localfile = './11.jpg'

    # ret, info = put_file(token, key, localfile)
    ret, info = put_data(token, key, image_data)

    # 如果上传成功返回图片名字,上传失败返回空值
    if info.status_code == 200:
        return ret.get("key")
    else:
        return ""

# 测试
# if __name__ == '__main__':
#     # 使用with会在执行完操作之后会自动关闭io数据流
#     with open('./11.jpg', 'rb') as f:
#         image_name = image_storage(f.read())
#         print(image_name)

